Godot3.5 敵の弾を一時的にスローにする味方の弾
https://gyazo.com/60b1f80576ec20f3c944e15bc0ec8f15
敵の弾を一時的スローにする味方の弾
code:gd
func _on_EnemyBullet_area_entered(area):
if is_slow:
return
var t_bullet := area as TanishiBulletBase
if not t_bullet:
return
if slow_count >= 1:
# 2回目以上slowで確率で弾消す
if randi() % 3 == 1:
_on_free_bullets()
org_speed = speed
is_slow = true
speed /= 3
slow_timer.start()
sprite.modulate = Color(0.3, 0.3, 0.3)
func _on_SlowTimer_timeout():
is_slow = false
speed = org_speed
sprite.modulate = Color(1, 1, 1)
slow_count += 1
スローになる時間は timer で指定
スロー中は色が黒くなるように modulate を調整している
既にスローになっている場合は何もしない
2回目以上のスローで、ランダムで弾を消去するようにもした
確定で消去にすると強すぎるため、ランダムにした